<?
/*
 * Classe DAO para a tabela cliente.
 * Data Access Object que irá fazer operações na tabela Cliente (básica: Insert, Update, Delete e Lista)
 */

include_once("../util/PDOConnectionFactory.class.php");

class AlbumDAO extends PDOConnectionFactory {
// irá receber uma conexão
    public $conex = null;

    // constructor
    public function __construct() {
        $this->conex = PDOConnectionFactory::getConnection();
    }

    public function save($album) {
        try {

            $stmt = $this->conex->prepare("INSERT INTO tb_album (idConta, dataCriacao, legenda)
                                                                  VALUES (:idConta, :dataCriacao, :legenda)");
            $stmt->bindValue(":idConta", $album->getIdConta() );
            $stmt->bindValue(":dataCriacao", $album->getDataCriacao());
            $stmt->bindValue("legenda", $album->getLegenda());

            $stmt->execute();

            $stmt2 = $this->conex->query(" SELECT LAST_INSERT_ID() AS ID;");

            //sabemos que vai retornar só um registro, mas...
            foreach ($stmt2 as $rows) {
                $album->setIdAlbum($rows["ID"]);
            }

            // fecho a conexão
            $this->conex = null;
            return $album;
        // caso ocorra um erro, retorna o erro;
        }
        catch ( PDOException $ex  ) {
            echo "Erro: ".$ex->getMessage(); }
    }

    public function ListAlbunsPorIdConta($idConta) {
        try {

            $query = " SELECT idAlbum, legenda FROM tb_album where idConta = :idConta ";

            $stmt = $this->conex->prepare($query);

            $stmt->bindValue(":idConta", $idConta);

            $stmt->execute();
            // desconecta
            $this->conex = null;
            // retorna o resultado da query
            return $stmt;
        }catch( PDOException $ex ) {
            echo "Erro: ".$ex->getMessage();
        }
    }
}
?>